package com.bzkj.basicinfo.domain.warehouse;

import com.bzkj.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 出库单据主表对象 PDA_WareHouseOut_Bills_List
 *
 * @author system
 * @date 2025-01-17
 */
@Data
@EqualsAndHashCode(callSuper=true)
public class PdaWarehouseOutBillsList extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @JsonProperty("id")
    private Long id;

    /** 单据号 */
    @JsonProperty("billsId")
    private String billsId;

    /** 单据日期 */
    @JsonProperty("checkDate")
    private String checkDate;

    /** 用户ID */
    @JsonProperty("userId")
    private String userId;

    /** 单据类型 */
    @JsonProperty("billsType")
    private String billsType;

    /** 单据CD */
    @JsonProperty("billsCd")
    private String billsCd;

    /** 单据状态 */
    @JsonProperty("billsState")
    private String billsState;

    /** 单据审核 */
    @JsonProperty("billsCheck")
    private String billsCheck;

    /** 发货人ID */
    @JsonProperty("senderId")
    private String senderId;

    /** 往来单位ID */
    @JsonProperty("ownerId")
    private String ownerId;

    /** 备注1 */
    @JsonProperty("remarks1")
    private String remarks1;

    /** 备注2 */
    @JsonProperty("remarks2")
    private String remarks2;

    /** 单据标识 */
    @JsonProperty("billsFlag")
    private String billsFlag;

    /** 审核人1 */
    @JsonProperty("checkUser1")
    private String checkUser1;

    /** 审核人2 */
    @JsonProperty("checkUser2")
    private String checkUser2;

    /** 审核人3 */
    @JsonProperty("checkUser3")
    private String checkUser3;

    /** 打包人 */
    @JsonProperty("packageUser")
    private String packageUser;

    /** 打包数量 */
    @JsonProperty("packageNum")
    private Integer packageNum;

    /** 复核人 */
    @JsonProperty("secondUser")
    private String secondUser;

    /** 是否二维码 */
    @JsonProperty("isQr")
    private String isQr;

    /** 客户ID */
    @JsonProperty("customerId")
    private String customerId;

    /** 码上放心客户ID */
    @JsonProperty("msfxCustomerId")
    private String msfxCustomerId;

    /** 仓库ID */
    @JsonProperty("stoId")
    private String stoId;

    /** 码上放心上传标识 */
    @JsonProperty("msfxUpload")
    private String msfxUpload;

    /** 上传状态 0未上传 1上传成功 2上传失败 */
    @JsonProperty("uploadState")
    private String uploadState;

    /** 出库单明细列表 */
    private List<PdaWarehouseOutBillsDetail> outDetailList;

    /** 单据类型名称（关联查询字段，用于前端显示） */
    private String billsTypeName;

    /** 往来单位名称（关联查询字段，用于前端显示） */
    private String billsCdName;

    /** 库存状态(0:待检, 1:合格, 2:不合格) */
    @JsonProperty("stockStatus")
    private String stockStatus;

    /** 总件数 */
    @JsonProperty("totalPackages")
    private java.math.BigDecimal totalPackages;

    /** 总数量 */
    @JsonProperty("totalQuantity")
    private java.math.BigDecimal totalQuantity;

    /** 制单人ID */
    @JsonProperty("creatorId")
    private String creatorId;

    /** 制单人姓名 */
    @JsonProperty("creatorName")
    private String creatorName;

    /** 拣货人ID */
    @JsonProperty("pickingUserId")
    private String pickingUserId;

    /** 拣货人姓名 */
    @JsonProperty("pickingUserName")
    private String pickingUserName;

    /** 拣货时间 */
    @JsonProperty("pickingTime")
    private String pickingTime;

    /** 复核人ID */
    @JsonProperty("reviewUserId")
    private String reviewUserId;

    /** 复核人姓名 */
    @JsonProperty("reviewUserName")
    private String reviewUserName;

    /** 复核时间 */
    @JsonProperty("reviewTime")
    private String reviewTime;

    /** 出库人ID */
    @JsonProperty("outUserId")
    private String outUserId;

    /** 出库人姓名 */
    @JsonProperty("outUserName")
    private String outUserName;

    /** 出库时间 */
    @JsonProperty("outTime")
    private String outTime;
}
